import React, { useReducer } from 'react'
// 设定初始值
const initialState = { count: 0 }
// 设定reducer函数用于处理状state
function reducer(state, action) {
    // 处理函数
    switch (action.type) {
        case 'add':
            return state + 1;
            break;
        case 'sub':
            return state - 1;
        default:
            return state;
            break;
    }
}
export default function Hook9() {
    // useReducer函数有两个参数第一个是reducer函数 第二个是初始值
    const [state, dispatch] = useReducer(reducer, initialState)
    return (
        <div>
            {/* 这里要小心初始化state里的属性名 */}
            <h1>{state.count}</h1>
            {/* 发布了一个用于更新state的事件 */}
            {/* 这里通过action.type发布事件 */}
            <button onClick={() => dispatch({ type: 'add' })}>+1</button>
            <button onClick={() => dispatch({ type: 'sub' })}>-1</button>
        </div>
    )
}
